#痴海第二期python训练营
#2班--wong
#第三周第一课作业

#作业一、用for循环和while循环实现计数

print("计算100以内偶数的和")
sum = 0
for i in range(2, 101, 2):
    sum += i
print(sum)

print('------------------------')


print("计算100以内奇数的和")
sum = 0
i = 1
while i < 100:
    sum += i
    i += 2
print(sum)

print('------------------------')



#作业二、分别用for循环和while循环实现斐波那切数列，限制在100以内

print("用for循环实现斐波那契数列")
a = 0   #设定第一项
b = 1   #设定第二项
print("斐波那契数列第 1 项：" ,a)   #输出第一项
print("斐波那契数列第 2 项：" ,b)   #输出第二项
i = 3   #计数从第3项开始
for i in range(3, 1000):
    c = a + b
    if c >= 100:
        break
    print("斐波那契数列第",i,"项：", c)
    a = b
    b = c

print('------------------------')



print("用while循环实现斐波那契数列")
a = 0
b = 1
print("斐波那契数列第 1 项：" ,a)   #输出第一项
print("斐波那契数列第 2 项：" ,b)   #输出第二项
i = 3   #计数从第3项开始
while i < 1000:
    c = a + b
    if c >= 100:
        break
    print("斐波那契数列第", i, "项：", c)
    a = b
    b = c
    i += 1

print('------------------------')



#作业三、对计算器参数进行检查，如果报错抛出自定义异常（以取余为例）
class ParamsError(Exception):
    pass

def rem(a, b):
    try:
        c = a % b
        return c
    except ZeroDivisionError:
        raise ParamsError("除数不能为0，请重新输入！")

a = int(input("请输入被除数："))
b = int(input("请输入除数："))
result = rem(a, b)
print(result)

